package com.punch.system.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.punch.common.dto.system.TopTeacherDTO;
import com.punch.common.page.PageInfo;
import com.punch.common.query.syste.TopTeacherQueryInfo;
import com.punch.common.vo.common.OptionVO;
import com.punch.common.vo.system.TopTeacherVO;
import com.punch.system.model.TopTeacher;

import java.util.List;


/**
 * <p>
 * 名师表 服务类
 * </p>
 *
 * @author wjj
 * @since 2020-12-14
 */
public interface TopTeacherService extends IService<TopTeacher> {

    /**
     * 名师列表
     *
     * @param queryInfo 查询条件
     * @return PageInfo<TopTeacherVO>
     */
    PageInfo<TopTeacherVO> listTopTeacher(TopTeacherQueryInfo queryInfo);

    /**
     * 保存名师
     *
     * @param topTeacherDTO 提交表单
     * @return id
     */
    Integer saveTopTeacher(TopTeacherDTO topTeacherDTO);

    /**
     * 修改名师
     *
     * @param topTeacherDTO 提交表单
     * @return id
     */
    Integer updateTopTeacher(TopTeacherDTO topTeacherDTO);

    /**
     * 名师详情
     *
     * @param teacherId teacherId
     * @return TopTeacherVO
     */
    TopTeacherVO getTopTeacher(Integer teacherId);

    /**
     * 删除名师
     *
     * @param teacherId teacherId
     * @return id
     */
    Integer deleteTopTeacher(Integer teacherId);

    /**
     * 修改名师状态
     *
     * @param teacherId teacherId
     * @param status    状态 0-不显示 1-显示
     * @return teacherId
     */
    Integer updateTopTeacherStatus(Integer teacherId, Integer status);

    /**
     * 简单名师列表
     *
     * @return List<OptionVO < Integer>>
     */
    List<OptionVO<Integer>> listSimpleTeacher();

}
